
#include "Joueur.h"

void initJoueur (Joueur *pJou)
{
    int i;
    pJou->niveauJoueur = 0;
    pJou->id = 0;
    pJou->position = 0;
    pJou->scoreCredit = 0;
    pJou->pseudo = (char *)malloc(sizeof(char)*64);

    pJou->mainJoueur = (Carte**)malloc(sizeof(Carte*)*4);

    for(i=0;i<4;i++)
    {
        pJou->mainJoueur[i] = NULL;
    }
    pJou->nbMainJoueur = 0;
    pJou->etat = 1;
}

void libereJoueur(Joueur *pJou)
{
    int i;
    pJou->niveauJoueur = 0;
    pJou->id = 0;
    pJou->position = 0;
    pJou->scoreCredit = 0;
    free(pJou->pseudo);
    pJou->pseudo = NULL;

    for(i=0;i<4;i++)
    {
        pJou->mainJoueur[i] = NULL;
    }
    free(pJou->mainJoueur);
    pJou->nbMainJoueur = 0;

    pJou->etat = 1;
}

Joueur * creerJoueur()
{
   Joueur *pJou = (Joueur *) malloc (sizeof(Joueur));
   initJoueur(pJou);
   return pJou;
}

void detruitJoueur(Joueur **ppJou)
{
    libereJoueur(*ppJou);
    free(*ppJou);
    *ppJou = NULL;

}

void set_id(Joueur *pJou,int id)
{
    assert (id != 0);
    pJou->id = id;
}

int get_id(const Joueur *pJou)
{
    return pJou->id;
}

void set_pseudo(Joueur *pJou, const char *pseudo)
{
    strcpy(pJou->pseudo, pseudo);
}

char * get_pseudo(const Joueur *pJou)
{
    return pJou->pseudo;
}

void setPosition(Joueur *pJou,int position)
{
    pJou->position=position;
}

int getPosition(const Joueur *pJou)
{
    return pJou->position;
}

void setScore(Joueur *pJou,int score)
{
    pJou->scoreCredit = score;
}

int getScore(const Joueur *pJou)
{
    return pJou->scoreCredit;
}


void setNiveau(Joueur *pJou, const int niv)
{
    pJou->niveauJoueur = niv;
}
int getNiveau(const Joueur *pJou)
{
    return pJou->niveauJoueur;
}

void set_etat(Joueur *pJou, bool etat)
{
    pJou->etat = etat;
}

bool get_etat (const Joueur *pJou)
{
    return pJou->etat;
}
